package com.feng.yupaoback.service;


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.feng.yupaoback.pojo.dto.UserUpdateInfoRequest;
import com.feng.yupaoback.pojo.entity.User;
import com.feng.yupaoback.pojo.vo.UserVO;
import jakarta.servlet.http.HttpServletRequest;

import java.util.List;

/**
* @author 34689
* @description 针对表【user_yu_pao(鱼泡用户)】的数据库操作Service
* @createDate 2025-07-03 14:45:35
*/
public interface UserService extends IService<User> {

    User userLogin(String userAccount, String userPassword, HttpServletRequest request);

    long userRegister(String userAccount, String userPassword, String checkPassword, String planetCode);

    User getCurrentUser(HttpServletRequest request);

    long updatePassword(String oldPassword, String newPassword, String checkPassword, HttpServletRequest request);

    User updateInfo(UserUpdateInfoRequest userUpdateInfoRequest, HttpServletRequest request);

    List<User> searchUsers(String username);

    int userLogout(HttpServletRequest request);

    User getSafetyUser(User originalUser);

    Page<User> getRecommendUsers(long pageSize, long pageNum);

    List<User> searchUsersByTags(List<String> tagList);

    boolean isAdmin(HttpServletRequest request);

    boolean isAdmin(User loginUser);

    List<User> getMatchUsers(long num, User loginUser);
}
